import request from '@/config/axios'

// 文玩信息 VO
export interface InfoVO {
  id: number              // 编号
  name: string            // 名字
  category: number        // 分类
  material: number        // 材质
  weight: number          // 重量
  length: number          // 长度
  width: number           // 宽度
  height: number          // 高度
  year: number            // 年代
  yearDescription: string // 年代描述
  description: string     // 描述
  infoImages: any[]       // 图片列表
  infoVideos: any[]       // 视频列表
}

// 文玩图片 VO
export interface InfoImageVO {
  id: number         // 编号
  artifactId: number // 工艺品编号
  name: string       // 名称
  imagePath: string  // 图片路径
}

// 文玩视频 VO
export interface InfoVideoVO {
  id: number         // 编号
  artifactId: number // 工艺品编号
  name: string       // 名称
  videoPath: string  // 视频路径
}

// 文玩信息 API
export const InfoApi = {
  // 查询文玩信息分页
  getInfoPage: async (params: any) => {
    return await request.get({ url: `/artifact/info/page`, params })
  },

  // 查询文玩信息详情
  getInfo: async (id: number) => {
    return await request.get({ url: `/artifact/info/get?id=` + id })
  },

  // 新增文玩信息
  createInfo: async (data: InfoVO) => {
    return await request.post({ url: `/artifact/info/create`, data })
  },

  // 修改文玩信息
  updateInfo: async (data: InfoVO) => {
    return await request.put({ url: `/artifact/info/update`, data })
  },

  // 删除文玩信息
  deleteInfo: async (id: number) => {
    return await request.delete({ url: `/artifact/info/delete?id=` + id })
  },

  // 导出文玩信息 Excel
  exportInfo: async (params: any) => {
    console.error('The table is not registered. Please use the register method to register')
    return await request.download({ url: `/artifact/info/export-excel`, params })
  },

// ==================== 子表（文玩图片） ====================

  // 获得文玩图片列表
  getInfoImageListByArtifactId: async (artifactId: number) => {
    return await request.get({ url: `/artifact/info/info-image/list-by-artifact-id?artifactId=` + artifactId })
  },

// ==================== 子表（文玩视频） ====================

  // 获得文玩视频列表
  getInfoVideoListByArtifactId: async (artifactId: number) => {
    return await request.get({ url: `/artifact/info/info-video/list-by-artifact-id?artifactId=` + artifactId })
  },
}
